
package seu.evaluation.metric;

import java.util.ArrayList;

/**
 * 
 * @author samantha
 * 存储图中每个组件的信息
 * componentID:该组件的ID
 * E:对其它组件的依赖数
 * X:其它组件依赖该组件的数目
 * W:该组件提供的接口数
 * R:该组件需要使用的接口数
 * S:该组件的子组件个数
 *
 */
public class MaintainabilityEntity {

	private int E;
	private int X;
	private int R;
	private int W;
	private int S;
	private int interEdge;
	private int componentID; //在UMLEntity中已存在
	private String name;
	private ArrayList<Integer> inNode;
	private int transitiveClosure[][];
	
	public MaintainabilityEntity( ){
		E=0;
		X=0;
		R=0;
		W=0;
		S=0;
		interEdge=0;
		componentID=-1;
		name="";
		inNode = new ArrayList<Integer>();
	}
	
	public void setTransitiveClosure( int a[][]){
		this.transitiveClosure = a;
	}
	
	public void setInterEdge(int edgeValue){
		this.interEdge = edgeValue;
	}
	
	public void setE(int eValue){
		this.E=eValue;
	}
	
	public void setX(int xValue){
		this.X=xValue;
	}
	
	public void setW(int wValue){
		this.W=wValue;
	}
	
	public void setR(int rValue){
		this.R=rValue;
	}
	
	public void setS(int sValue){
		this.S=sValue;
	}
	
	public void setID(int id){
		this.componentID=id;
	}
	
	public void setName(String name1){
		this.name=name1;
	}
	
	public int getE(){
		return this.E;
	}
	
	public int getX(){
		return this.X;
	}
	
	public int getR(){
		return this.R;
	}
	
	public int getW(){
		return this.W;
	}
	
	public int getS(){
		return this.S;
	}
	
	public int getComponentID(){
		return this.componentID;
	}
	
	public String getName(){
		return this.name;
	}
	
	public int getInterEdge(){
		return this.interEdge;
	}
	
	public ArrayList<Integer> getInNode(){
		return this.inNode;
	}
	
	public int[][] getTransitiveClosure(){
		return this.transitiveClosure;
	}

}
